concrete5のテーマの作り方 バージョン5.7で何が変わったの?
最終更新日:
concrete5のバージョン5.7がメジャーバージョンアップとなり、concrete5の基本構造に変更がありました。しかし、5.6用に作ったテーマを5.7にインストールしても問題なく動く場合もあります。基本的な作り方はあまり変わってないようですが、一体どのような変更点があったのでしょうか?
バージョン5.7のテーマの作り方で、5.6との違いについて簡単にまとめてみました。
themesディレクトリの場所が変更
これはconcrete5全体のディレクトリ構造が変わったため、テーマの格納されているディレクトリの場所も変わりました。
5.6以前:themes
5.7以降:application/themes
※concrete/themes/ のディテクトリは、コアファイルなので絶対に修正しないように注意してください!
バージョン5.7で新しく追加された page_theme.phpって何?
テーマフォルダの中にpage_theme.phpというファイルが追加されました。しかし、page_theme.phpというファイルは、必須ではないので、バージョン5.6で使っていたテーマを5.7にインストールしても問題なく動く場合があります。
では必須ではないpage_theme.phpって何でしょうか?
簡単にいうと管理画面からデザインやレイアウトの設定に拡張性を持たせるためのファイルで、page_theme.phpに記述を加えることで5.7の機能を十分に使えるようになります。
ブロックのレイアウト機能にCSSグリッドシステムやプリセットが選択可能に
テーマで使用しているbootstrapや960Grid SystemなどCSSフレームワークをpage_theme.phpに指定しておくと、管理画面でブロックのレイアウト機能を使う時にプルダウンで選択でき、コラム数も簡単に設定できるようになります。
また、予めブロックのレイアウトをpage_theme.phpに記述することで、プリセットとしてプルダウンから選択できるようになります。下の例だと、左サイドバーまたは右サイドバーの2つのプリセットが選択可能になっています。
ブロックやエリアのカスタムクラス名がプルダウンで選択可能に
カスタムクラス名は管理画面から入力でも可能ですが、予めpage_theme.phpに記述しておくことでプルダウンで選択可能になります。
編集エディタでCSSのカスタムスタイルがプルダウンで選択可能に
ブロックの編集エディタでCSSのクラス(カスタムスタイル)がプルダウンで表示されるようになります。concrete5の5.6以前のtypography.cssのような感じです。
まとめ
concrete5.7から新しく追加されたpage_theme.phpファイルは、テーマの制作者にとっては面倒ですが、ウェブサイト管理者にとってはメリットが大きいと思います。ただ、あまりにもレイアウトが自由に変更出来てしまうとデザインに統一感がなくなる危険性もあるので、その辺のバランスが難しいような印象を受けました。
直観的な操作でウェブサイトを管理できるconcrete5が、CMS本来の目的に進化しているような気がしました。
今回は、page_theme.phpの記述方法は割愛しましたが、次回は記述方法をご紹介したいと思います。